package com.ssy.lingxi.pay.api.model.vo.request.allInPay;

import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.List;

/**
 * 单笔托管代付请求实体类
 * @author lqa
 * @version 2.0.0
 * @date 2021/12/5
 */
@Data
public class SignalAgentPayVO implements Serializable {
    /**
     * 商户订单号（支付订单）
     */
    @NotNull(message = "商户订单号不能为空")
    private String bizOrderNo;
    /**
     * 会员id(收款方)
     */
    @NotNull(message = "会员id要大于0")
    @Positive(message = "会员id要大于0")
    private Long memberId;

    /**
     * 会员角色id(收款方)
     */
    @NotNull(message = "角色id要大于0")
    @Positive(message = "角色id要大于0")
    private Long memberRoleId;
    /**
     * 源托管代收订单付款信息  最多支持 100 个
     */
    private List<CollectPayVO> collectPayList;
    /**
     * 收款人的账户集编号(平台需自己配置)
     */
    private String AccountSetNo="200126";
    /**
     * 业务码 3001 String 电商及其它 代收消费金
     * 4001 String 电商及其它 代付购买金
     */
    private String tradeCode="4001";//测试使用
    /**
     * 订单金额 单位：元。包含手续费
     */
    @NotNull(message = "订单金额不能为空")
    private Double amount;
    /**
     * 手续费 内扣，如果不存在，则填 0。 单位：元。 如 amount 为 100，fee 为 2，则充 值实际到账为 98，平台手续费收 入为 2
     */
    private Double fee=0.00;
    /**
     * source 访问终端类型 1-Mobile 2-PC(不影响,所以直接给默认值)
     */
    private Integer source = 2;
}
